//===-- C standard library header errno.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef LLVM_LIBC_ERRNO_H
#define LLVM_LIBC_ERRNO_H

#include <__llvm-libc-common.h>

#ifdef __linux__

#include <linux/errno.h>

#ifndef ERFKILL
#define ERFKILL 132
#endif // ERFKILL

#ifndef EOWNERDEAD
#define EOWNERDEAD 130
#endif // EOWNERDEAD

#ifndef EHWPOISON
#define EHWPOISON 133
#endif // EHWPOISON

#ifndef ECANCELED
#define ECANCELED 125
#endif // ECANCELED

#ifndef ENOTSUP
#define ENOTSUP EOPNOTSUPP
#endif // ENOTSUP

#ifndef ENOTRECOVERABLE
#define ENOTRECOVERABLE 131
#endif // ENOTRECOVERABLE

#else // __linux__
#include <llvm-libc-macros/generic-error-number-macros.h>
#endif

extern _Thread_local int __llvmlibc_errno;
#define errno __llvmlibc_errno

#endif // LLVM_LIBC_ERRNO_H
